Copyright: Copyright by SecuriSys Corporation 1997


SafenSigned Verifier
 SafenSigned Verifier Help Topics

How To Use the SafenSigned Verifier

Why do you need it?

How to check a File

How to check a Web Page

How to interpret the verification results

How to use the Verifier as an unzip utility

Menu

File menu

Trusted-List menu

View menu

Help menu

Introduction to Public Key Cryptography

Public Key Cryptography

Message Digest

Signature Algorithm

Implementation Specifics of SafenSigned

References

License, Acknowledgments, Order, and Other Information

License Agreement

Shareware License

Acknowledgments

Ordering Information


Why do you need SafenSigned?
--How To Use SafenSigned Verifier--

Why do you need it?

Every time you run a new program received or downloaded from the Internet or other on-line system, do you hold your breath and pray that your hard disk will not be wiped out?  If you have not yet realized the inherent danger of running a program or even opening a word document that you cannot positively identify its author, you put your computer and every computer in your company at a high risk.

There was once a program (and it is still in the wild) named PKZ300.ZIP widely distributed over the Internet claiming to be an updated version of PKZIP. When this program runs, however, it simply erases your hard disk! PKWARE Inc., has made a statement saying that PKZ300 is a fake version and asks users to avoid it. (See http://www.pkware.com/fake.html). You will certainly avoid any file named PKZ300.ZIP or PKZ300B.ZIP after reading PKWARE’s statement, but what if somebody simply renamed the fake version to “pkz204g.exe” - the name of the latest official DOS version, or packed it into “pk250w32.exe” - the latest official Windows 95 version?  What if somebody has renamed this horrible Trojan Horse to the name of your favorite program which you cannot wait to get an updated version?

PKZ300 is only one example of the malicious programs that are widely distributed over the Internet.  There are many more out there in the wild.  For example,  the extremely destructive Hare.virus was distributed in 1996 over the Internet in various programs named “vpro46c.exe”, “agent99e.exe”, “red_4.exe”, and lviewc.exe.(See http://www.cheyenne.com/virusinfo/virdesc.html)

Not only executable files are unsafe, a word document or a spreadsheet can be infected by a Macro Virus and causes damage to your system. It was once true that you can get infected only by running a program or booting your machine. Now you can get infected by simply viewing a document or opening a spread sheet! Macro viruses are spreading with a speed unseen in the history and mainly through the Internet. (See http://www.cheyenne.com/virusinfo/aboutmac.html)

You may think that it will be safe if you only download files from the web sites of the companies you know.  This is certainly a much better practice than accepting files from Emails and Internet news groups, but the risk is still there.  To see the risk, simply go to Yahoo and search with the key word “Parody” or “Hacked”. You will find an ever increasing list of web pages that are created to imitate existing web pages of well known companies.  Although most of the parody web pages have been modified to make it humorous, they demonstrate how easy it is for a person with an ill intention to create a web site that looks exactly as the real one except that, when you want to download a useful program, a Trojan Horse or a virus infected version is downloaded. Please note that these parody sites will show up along with the real ones in search engines and you may not be able to distinguish the real one from the fake one.  Even if you are careful enough to check the domain name registration to make sure that it is truly owned by the company claimed, this does not guarantee that you are completely safe.  Web sites on the Internet are being hacked all the time (just have a look at http//www.2600.com/hacked_pages/).  Although those well publicized cases of web site hacking are soon discovered because the web pages have been heavily modified, nothing prevents a hacker to quietly implant a virus into a popular downloadable program and leave without a trace.  In such cases, the hacking may not be discovered for months, years, or forever.

The SafenSigned utility is designed to reduce the risks shown above and make the distribution of digital contents over the Internet safer.  The SafenSigned consists of two programs, the File Signer and the Verifier. Using the File Signer, the creator of the digital content can sign the file

with a unique digital signature before distributing it. The digital signature uses a Public Key Algorithm and is extremely difficult for others to forge.  When a user receives the file containing the digital content, he/she can use the Verifier to verify the digital signature. When the signature is successfully verified, it is ensured that the file is truly from the owner of the digital signature and has not been modified in the distribution channel.

Various file types can be signed by the SafenSigned File Signer and still remain functional, including ZIP archives, self-extracting archives, HTML files (web pages) and word documents. The SafenSigned Verifier lets you verify digital signatures in all these types of signed files and also lets you check the digital signature of a web page without leaving your web browser.


How to check a file
--How To Use SafenSigned Verifier--

How to Check a File

There are 3 methods to check a file and verify the digital signature if it is signed.

Method 1: First, find the file you want to check using the Windows Explorer. Then, click the file icon with the RIGHT mouse button and select “Verify Signature” from the menu that pops up. The Verifier will automatically start to check the file and show you the result.

Method 2: Start the Verifier first and then drag and drop the file you want to check from the Explorer into the client area of Verifier window. (Click the file icon with the LEFT mouse button, hold it down and move the mouse until the cursor is inside the Verifier window. Then release the mouse button. The file will be dropped.) The dropped file will be automatically checked and the result will be shown in the Verifier window.

Method 3: Click the tool button [image] or select the File -Check Signature menu command  and then find and open the file you want to check.


How to check a web page
--How To Use SafenSigned Verifier--

How to Check a Web Page

To check the web page you are viewing in a web browser, first start the SafenSigned Verifier (if it is not already started) and then use the “Save As” function in the File menu of your browser to save the web page into the Auto-Check Folder.  The Auto-Check Folder is a folder named \SNStest\autochk\ in the same disk where the SafenSigned Verifier program is installed.  When the Verifier is running, any file placed into the Auto-Check Folder will be automatically checked for the digital signature and then removed.  This allows you to check the web page you are currently viewing without leaving the browser.

You may also check an image in the web page by saving it into the Auto-Check Folder. For most of the browsers, this is done by clicking the RIGHT mouse button on the image and then choosing “Save Image As” item in the menu that pops up.

The same method can be used to check any document in an application, as long as the application does not change the file when Save As command is executed.  Unfortunately, some applications, such as Microsoft Word, will change the file when Save As command is executed, so the signature verification will always fail when this method is used.


How to interpret the check result
--How To Use SafenSigned Verifier--

How to Interpret the Verification Results

The SafenSigned Verifier shows the signature verification results as three types of conditions:

 Green Light:

This condition occurs when the signature verification is successful and the signature is either listed as TRUSTED (found in the Trusted List) or is notarized by a TRUSTED digital notary (the signature of the notary is found in the Trusted List). When this condition occurs, the signature ID, the validity period of the signature, the signer’s name and other information will be shown in the Verifier window. If the signature is notarized, you may use View Notary Certificates command to examine the notary certificates. This condition generally means that the file may be trusted.

 Yellow Light:

This condition occurs when the signature verification is successful but the signature is neither listed as TRUSTED itself nor notarized by a TRUSTED digital notary.  When this condition occurs, the signature ID, the validity period of the signature, the signer’s name and other information will be shown in the Verifier window. If the signature is notarized, you may use View Notary Certificates command to examine the notary certificates.  This condition means that although the file is signed by a valid digital signature, the Verifier cannot determine whether the signature belongs to a trustworthy signer. In this case, if you can verify that the signature truly belongs to a trustworthy signer or can verify that any of the notaries notarizing the signature is trustworthy (be sure to verify that the signature signing the digital certificate truly belongs to the notary), the file can be trusted. Otherwise, it should not be trusted. You may conduct the verification by carefully comparing the signature IDs shown in the Verifier with the signature IDs obtained from any other reliable source, such as the signer or notary’s advertisement, yellow page, business card or calling them directly. (You should not rely on the signature ID you see in their web pages, unless you are absolutely certain that you are not accessing a “parody site”.)  If the verification is successful and you want to trust the signer or the notary, you may add it to the Trusted List.  (See Trusted-List menu.)  After you have added the signature of the signer or the signature of any of the digital notary into the Trusted List, the yellow light will turn green and when the Verifier later encounters the same signature or a signature notarized by the same digital notary again, it will show a green light condition.

 Red Light:

This condition occurs when the file is not signed, the signature verification is unsuccessful, or the signature is not valid at the time it is being checked (either expired or has not yet become valid). This condition also includes various IO or system errors that occurred during the signature verification process. When this condition occurs, there will be messages in the Verifier window telling you what has happened. This condition means that the file should not be trusted.


How to use the Verifier as an unzip utility
--How To Use SafenSigned Verifier--

How to Use the Verifier as an Unzip Utility

To use the SafenSigned Verifier to unzip an ordinary ZIP archive, simply check the signature for the archive, ignore the warnings (since you know it is not signed) and then use the File-Unzip command to unzip the file.


File menu commands

The File menu offers the following commands:

Check Signature	Check data integrity of a file and verify the digital signature.
Recover	Recover the original file signed.
Open or Run	Open or run the file (equivalent to double clicking it in the Explorer).
Unzip	Unzip the file if it is a ZIP archive or a self extractor.
Abort Operation	Abort a lengthy operation.
Exit	Exit SafenSigned Verifier.


Trusted List menu commands

The SafenSigned Verifier maintains a list of all digital signatures that you think you can trust.  This list is called the Trusted List.  If the file being checked is signed by a legitimate digital signature, the SafenSigned Verifier determines whether to show a Green Light result or a Yellow Light result based on the Trusted List. (See How to interpret the verification results.)  The simple rule is that if the file is signed by a signature found in the List, or if the signature is notarized by a notary found in the List, the Green Light result is shown.  Otherwise, the Yellow Light result is shown.

You may use the following commands to manipulate the Trusted List.

Add	Add the signature you just checked to the Trusted List.
Delete	Delete the signature you just checked from the Trusted List.
List All	List all signatures currently in the Trusted List.

In addition to these commands, you may add/delete signatures of digital notaries to/from the Trusted List within the View Notary Certificates dialog. (See View Notary Certificates command.)

Before you add a signature to the Trusted List, you should make sure that the signature truly belongs to the signer or the notary (it is not the signature of an impostor) and that the signer or the notary is trustworthy.


View menu commands

The View menu offers the following commands:

View Notary Certificates	Shows the notary certificates notarizing the signature.
Toolbar	Shows or hides the toolbar.
Status Bar	Shows or hides the status bar.


Help menu commands

The Help menu offers the following commands, which provide you assistance with this application:

Help Topics	Offers you an index to topics on which you can get help.
About	Displays the version number of this application.


File Check Signature command
Check Signature command (File menu)

Use this command to check the data integrity of a file and verify the digital signature attached to it.

If the file has been signed by a digital signature, the signature ID and signer’s information will be shown on the screen and the user will be advised whether or not the file can be trusted based on the information stored in the Trusted List.  (See Trusted-List command for more details.)  If the file is not signed or the signature verification fails, the user will be warned appropriately.

Shortcuts

Toolbar:

Keys:	CTRL+C


File Recover command
Recover command (File menu)

After the file signature check is completed, use this command to recover the original file that was signed by the SafenSigned Digital Signer.  The recovered file will have the signature block stripped off and the file times and attributes will be restored to the original unless some io-error occurred in doing so.

This command will present the Save Recovered File As Dialog Box that lets you specify the path and name for the recovered file.  It also lets you specify whether or not you want to open or run the file automatically after it is recovered.

Shortcuts

Toolbar:

Keys:	CTRL+R


Save Recovered File As Dialog Box

This dialog box lets you specify the path and name to save the recovered file. Note: The default file name in this dialog box when it first pops up is the name of the original file signed.  This dialog box also lets you specify whether or not you want to run or open the file automatically after it is recovered.  You may see explanations of most of the items in this dialog box by clicking the question mark button on the right side of the title bar and then clicking the item you need explaining.  This dialog box is the same as the common File Save As dialog box except that it has following additional items.

The check box Automatically Open or Run the File Recovered lets you specify whether or not you want to run the file (if it is an executable file) or open it with an application (if the file is other type) after it is recovered.  If this box is checked, the file will be automatically opened or run after recovery. It has the same effect as double clicking the recovered file in the Windows Explorer.

The button Help shows this help screen when clicked.


This check box lets you specify whether or not you want to run the file (if it is an executable file) or open it with an application (if the file is other type) after it is recovered.  If this box is checked, the file will be automatically opened or run after recovery. It has the same effect as double clicking the recovered file in the Windows Explorer.


File Execute command
Open or Run command (File menu)

If the file you just checked is a self-extracting archive or any other executable file (a file having an extension ‘’exe’’) that can run independently, you may use this command to run it. If it is other type of file, this command will try to find an appropriate application to open it. With few exceptions, this command has the same effect as double clicking the file icon in the Windows Explorer.  Note: this command will open the file that has the signature block attached. For many file types, the signature block has not effect in the application, such as HTML file, ZIP file and Word document.  For some applications, however, the signature block attached will have some effect. (For example, a text file opened in Notepad will show the signature block.) In such cases, you should use the Recover Command to recover the original file signed (get rid of the signature block) before opening it with an application. This can be done in one step by checking the check box labeled Automatically Open or Run the File Recovered in the Save Recovered File As Dialog Box.

Although SafenSigned Verifier allows you to open or run a file even if the signature check fails, it is recommended that you do not do that, because a failed signature is a sign of malicious modification or virus infection.

Shortcuts

Toolbar:

Keys:	CTRL+O


File Unzip command
Unzip command (File menu)

If the file you just checked is a ZIP archive or a self extractor created by the SafenSigned File Signer, you may use this command to unzip it (extract all the files).

You may also use this command to unzip any ordinary ZIP file (not signed) by simply ignoring the warnings.

This command will present a dialog box to let you specify the folder to put the extracted files and see messages of the unzipping function.  (See Unzip Dialog for more details.)

Shortcuts

Toolbar:

Keys:	CTRL+U


Unzip Dialog
Unzip Dialog (Invoked by File Unzip command)

The Unzip Dialog lets you specify a folder to put extracted files, choose unzip options, unzip the file, and see the messages from the unzip function.

How to specify the folder to put the extracted files:

You may directly type the folder name in the edit box labeled Unzip to the folder or click Browse button to choose a folder (see Select Folder Dialog Box).  If the folder does not exist, it will be created when the unzip function starts.

How to specify unzip options:

The only option available for this version is whether or not the existing file will always be overwritten when a file with the same name is extracted.  If the check box labeled Always overwrite existing file is checked, the existing file will always be overwritten by the extracted one.  Otherwise, the existing file is overwritten only when it is older than the extracted one.

How to start unzip function:

Click the Unzip button.

How to abort the unzip function:

After the unzip function is started, the button originally named Exit will change to Abort.  You may click this button to abort.  There will be a dialog box to confirm if you really want to abort.

Where to see the messages from unzipping function:

The unzip function outputs its messages to the area labeled Unzip output messages.  You may use scroll bars to see more messages if they cannot be fit into the area.

How to exit the dialog:

Click the Exit button.


Select Folder Dialog Box

This dialog box lets you browse and select a folder.  The drop down list labeled Drives: lets you select the drive.  The area above it lets you select the folder.  The area on the left shows files in the selected folder.  After you have selected the folder, click the OK button to accept it.  If you want to exit this dialog box without selecting a folder, click the Cancel button.

The title bar of this dialog box may vary depending on where this dialog box is invoked (it usually shows for what purpose the folder is being selected).


Abort Operation Command
Abort Operation command (File menu)

Checking the data integrity of a long file may take some time.  If you are too impatient to wait, you may use this command to abort the process.

Shortcuts

Click the picture:


File 1, 2, 3 command
1, 2, 3 command (File menu)

Use the numbers and filenames listed at the bottom of the File menu to check one of the 3 files you recently checked.  Choose the number that corresponds to the file you want to check.


File Exit command
Exit command (File menu)

Use this command to end your SafenSigned Verifier session.  You can also use the Close command on the application Control menu.

Shortcuts

Mouse:	Double-click the application's Control menu button.

Keys:	ALT+F4


Trusted List Add Command
Add command (Trusted-List menu)

Use this command to add the digital signature you just checked to the Trusted List.  This command is enabled only when the signature is not already in the List.

Before you add a signature to the Trusted List, you should first make sure that the signature is truly the authentic signature of the signer and not from any impostor.  Then, if you are willing to trust the signer based on previous experience or other information you have, you may add the signature to the Trusted List.  Since it is extremely difficult to fake a valid signature with a given ID, carefully comparing the signature ID displayed by SafenSigned Verifier with the ID you obtained from any other reliable source will ensure that the signature is authentic.  Users of SafenSigned Digital Signer have been advised to publish their IDs everywhere that has their names and you may also call them directly to ask for their signature IDs.

Shortcuts

Toolbar:


Trusted List Delete Command
Delete command (Trusted-List menu)

Use this command to remove the digital signature you just checked from the Trusted List.  This command is enabled only when the signature is currently in the List.

Shortcuts

Toolbar:


Trusted List List All Command
List All command (Trusted-List menu)

Use this command to show all the digital signatures currently in the Trusted List.  This command will display a dialog which shows the signature IDs along with names of the signers and also has buttons to let you delete items from the Trusted List.  (See Trusted List Dialog for details.)

Shortcuts

Toolbar:

Keys:	CTRL+L


Trusted List Dialog Box
Trusted List Dialog Box (Invoked by Trusted-List, List All command)

This dialog box shows you all signers and digital notaries currently in the Trusted List.  It also allows you to delete items from the List.

The meaning of the icon on the left of each item:

  The item is NOT marked for deletion.

  The item is marked for deletion and will be permanently

          deleted when you click the OK button to exit.

How to mark an item for deletion:

Click the signature ID or the icon on the left to select the item and then click the Delete button.  The item marked for deletion will not actually be deleted until you click the OK button to exit.

How to mark multiple items for deletion:

First, select multiple items by holding down Ctrl key and clicking each item you want to mark.  When all the items you want to mark are selected, click the Delete button.  The items marked for deletion will not actually be deleted until you click the OK button to exit.

How to mark a range of items for deletion:

First click the first item in the range, then click the last item in the range while holding the shift key, the whole range should now be selected.  (You may also press the down arrow key several times while holding the shift key to select a range of items.)  After the items are selected, click the Delete button.  The items marked for deletion will not actually be deleted until you click the OK button to exit.

How to unmark an item for deletion:

Click the signature ID or the icon on the left to select it and then click the Undelete button.

How to unmark multiple items for deletion:

First, select multiple items by holding down Ctrl key and clicking each item you want to unmark.  When all the items you want to unmark are selected, click the Undelete button.  You may also unmark all items by clicking the Undelete button without selecting any item and then answer ‘‘Yes’’ to the dialog box that pops up asking whether you want to undelete all items.

How to unmark a range of items for deletion:

First click the first item in the range, then click the last item in the range while holding the shift key, the whole range should now be selected.  (You may also press the down arrow key several times while holding the shift key to select a range of items.)  After the items are selected, click the Undelete button.

What does the OK button do?

When clicked,  all the items marked for deletion will be actually deleted from the Trusted List and the dialog box exits.

What does the Cancel button do?

When clicked, the dialog box exits without deleting any item (even if they are marked for deletion).  The Trusted List is not changed.

What does the Help button do?

Shows this help screen when clicked.  You may also press F1 key for the same function.


View Notary Certificates command
View Notary Certificates command (View menu)

Use this command to display the digital notary certificates notarizing the signature you just checked.  This command will display a dialog which shows detailed information contained in the notary certificates and also allows you to add/delete notaries to/from the Trusted List.  (See View Notary Certificate Dialog and Trusted-List command)

Shortcuts

Toolbar:

Keys:	CTRL+V


View Toolbar command
Toolbar command (View menu)

Use this command to display and hide the Toolbar, which includes buttons for some of the most common commands in SafenSigned Verifier.  A check mark appears next to the menu item when the Toolbar is displayed.

See Toolbar for help on using the toolbar.


Toolbar

The toolbar is displayed across the top of the application window, below the menu bar.  The toolbar provides quick mouse access to many tools used in SafenSigned Verifier,

To hide or display the Toolbar, choose Toolbar from the View menu (ALT, V, T).

Click	To

Check the data integrity of a file and verify the digital signature.  SafenSigned Verifier displays a dialog box, in which you can locate the file to be checked.

Recover the original file signed.  SafenSigned Verifier displays a dialog box to let you specify the folder and file name for the recovered file.

If the file you just checked is a self-extracting archive or other executable file, you may click this tool bar button to run it

If the file you just checked is a ZIP archive, you may click this tool bar button to unzip it.  SafenSigned Verifier displays a dialog box to let you specify a folder to put the files extracted from the ZIP archive.

Show the notary certificates notarizing the signature you just checked  SafenSigned Verifier displays a dialog to show detailed information contained in the notary certificates and lets you add/delete digital notaries to/from the Trusted List.

Add the signature you just checked to the Trusted List.

Delete the signature you just checked from the Trusted List.

List all signatures in the Trusted List.  SafenSigned Verifier displays a dialog to show the Trusted List and also lets you delete items from the List.  The deletion can be undone before you click the OK button to exit the dialog.  (See Trusted List Dialog Box for details.)


View Status Bar Command
Status Bar command (View menu)

Use this command to display and hide the Status Bar, which describes the action to be executed by the selected menu item or depressed toolbar button, and keyboard latch state. A check mark appears next to the menu item when the Status Bar is displayed.


Introduction to Public Key Cryptography
View Certificates Dialog Box (Invoked by View Notary Certificates command)

The View Certificates Dialog Box allows you to view detailed information contained in notary certificates.  It also lets you add/delete the signatures of the notaries to/from the Trusted List.

What does each field mean:

Issued by:

The name of the digital notary issuing the certificate.

On Date:

Date and time the certificate is issued.  Shown in Greenwich Mean Time (GMT).

Serial No:

The serial number of the certificate. The digital notaries use a unique serial number for each certificate issued.

Certificate Validity:

The time period in which the notary certificate is valid.(all in GMT)

Present Time:

The time right now. (GMT)

The Exact Statement Made by the Issuer:

The digital notary explains what exactly is certified.  You may use the scroll bars to see more text if it cannot be fit into the area.

Issuer’s Signature ID and Validity:

The ID and valid time period of the digital signature signing the certificate.  (The valid time period is shown in GMT.)

The meaning of the pictures shown at the bottom left corner of the certificate:

The notary issuing the certificate is in the Trusted List.

The notary issuing the certificate is NOT in the

Trusted List.

The certificate has expired.

The certificate has not yet become valid.

(it will become valid in the future.)

What does each button do when clicked?

Add to Trusted List

Adds the signature of the digital notary that issued the certificate to the Trusted List.  Enabled only when the notary is not already in the List.

Delete from Trusted List

Deletes the signature of the digital notary that issued the certificate from the Trusted List.  Enabled only when the notary is in the List.

Next>>

View the next notary certificate notarizing the same signature.  (A signature may be notarized by several notaries.)

<<Previous

View the previous notary certificate notarizing the same signature.

Exit

Exits the dialog box.

Help

Shows this help screen.


Help Index command
Index command (Help menu)

Use this command to display the opening screen of Help.  From the opening screen, you can jump to step-by-step instructions for using SafenSigned Verifier and various types of reference information.

Once you open Help, you can click the Contents button whenever you want to return to the opening screen.


Using Help command
Using Help command (Help menu)

Use this command for instructions about using Help.


About Command
About command (Help menu)

Use this command to display the copyright notice and version number of your copy of SafenSigned Verifier.


Help Using Help Command
Context Help command

Use the Context Help command to obtain help on some portion of SafenSigned Verifier.  When you choose the Toolbar's Context Help button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the SafenSigned Verifier window, such as another Toolbar button.  The Help topic will be shown for the item you clicked.

Shortcut

Keys:	SHIFT+F1


Title Bar

The title bar is located along the top of a window.  It contains the name of the application and document.

To move the window, drag the title bar.  Note: You can also move dialog boxes by dragging their title bars.

A title bar may contain the following elements:

Application Control-menu button

Document Control-menu button

Maximize button

Minimize button

Name of the application

Name of the document

Restore button


Scroll bars

Displayed at the right and bottom edges of the document window.  The scroll boxes inside the scroll bars indicate your vertical and horizontal location in the document.  You can use the mouse to scroll to other parts of the document.


System Size Command
Size command (System menu)

Use this command to display a four-headed arrow so you can size the active window with the arrow keys.

After the pointer changes to the four-headed arrow:

1.	Press one of the DIRECTION keys (left, right, up, or down arrow key) to move the pointer to the border you want to move.

2.	Press a DIRECTION key to move the border.

3.	Press ENTER when the window is the size you want.

Note:  This command is unavailable if you maximize the window.

Shortcut

Mouse:	Drag the size bars at the corners or edges of the window.


System Move command
Move command (Control menu)

Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys.

Note:  This command is unavailable if you maximize the window.

Shortcut

Keys:	CTRL+F7


System Minimize Command
Minimize command (application Control menu)

Use this command to reduce the SafenSigned Verifier window to an icon.

Shortcut

Mouse:	Click the minimize icon [image] on the title bar.

Keys:	ALT+F9


System Maximize command
Maximize command (System menu)

Use this command to enlarge the active window to fill the available space.

Shortcut

Mouse:	Click the maximize icon [image] on the title bar; or double-click the title bar.

Keys:	CTRL+F10 enlarges a document window.


System Close command
Close command (Control menus)

Use this command to close the active window or dialog box.

Double-clicking a Control-menu box is the same as choosing the Close command.

Note:  If you have multiple windows open for a single document, the Close command on the document Control menu closes only one window at a time.  You can close all windows at once with the Close command on the File menu.

Shortcuts

Keys: 	ALT+F4 closes the window or dialog box


System Restore command
Restore command (Control menu)

Use this command to return the active window to its size and position before you chose the Maximize or Minimize command.


No Help Available

No help is available for this area of the window.


No Help Available

No help is available for this message box.


Public Key Cryptography
--Introduction to Public Key Digital Signature--

Public Key Cryptography

The digital signature used in SafenSigned is based on the so called “Public Key Cryptography.” The basic idea of public key cryptography was invented by Whitfield Diffie and Martin Hellman in 1976 [1] [2].  They described an encryption system that uses a matched pair of Public and Private keys.  The Public Key is made publicly available by its owner, while the Private Key is kept secret. To send a private message, the sender scrambles the message with the intended recipient's Public Key. Once so encrypted, the message can only be decoded with the recipient's Private Key.

Inversely, the user can also scramble a message using the Private Key in a special way that it can be unscrambled using the Public Key.  If the key size is sufficiently large, it will be practically impossible to generate such a scrambling unless one has the Private Key.  This provides the basis for the "digital signature," for if the scrambled message can be unscrambled with someone’s Public Key, he/she must have used his/her Private Key to scramble the original message in the first place.  In other words, he/she must have Signed the original message.  Since the scrambled message depends on the original message, any modification of the original message would make it disagree with the scrambled data.  The digital signature thus protects the data from any accidental error, malicious modification or virus infection. (In practice, it is much more efficient to scramble the Digest of a message instead of the message itself. See Message Digest.)

Even if you can verify that the message can be unscrambled by a public key, how do you know whose public key it really is?  If you cannot relate the public key to a real person you can trust, you still cannot trust the message.  This is analogous to the situation where you have received a properly signed check but still cannot tell whether or not the check is good, if you do not know what the account holder’s signature looks like.  This is where the digital notary comes in.  A digital notary issues a digital certificate that ties the public key with the identity information of its owner after verifying the owner’s identity.  The digital certificate is signed by the notary’s digital signature and can be verified using the notary’s public key, which is usually well publicized.  After verifying both the signature signing the message and the certificate notarizing the signature, the user is ensured that the message is truly from the person identified by the identify information included in the notary certificate.  Of course, if a signer has other ways to let everybody know his public key, he does not have to notarize his signature.  In this case, he usually widely publicize his public key so that users can easily verify that the signature is truly his signature.

Please Read Next Topic: Message Digest.


Message Digest
--Introduction to Public Key Digital Signature--

Message Digest

Since the scrambling and unscrambling using the public key algorithm requires a large amount of computation, it is usually too slow to scramble a large message.  In practical systems, the actual data signed (scrambled using the private key) is a Message Digest (MD) of the original message.  The message digest is calculated from the original message using a so called One Way Hash function that has the following properties:

1) Compression - For arbitrary length of the original message, the function outputs a hash value that has a fixed (usually smaller) size.

2) One Way - It is easy to compute the hash value from the message but extremely difficult to find a message that will result in a given hash value.

3) Collision Resistant - It is extremely difficult to find two messages that will result in the same hash value.

Because of these properties of the one way hash function, it is extremely difficult to change the original message without changing the hash value.  For this reason, signing the hash value protects the integrity of the entire original message.

The SafenSigned uses the MD5 Message-Digest Algorithm of the RSA Data Security, Inc. [3] as the one way hash function.  This hash function has been under the study of cryptanalysts for years and no attack faster than the brute force method have been found.  A brute force attack to find a message that hashes to a given hash value is to try different messages until the correct one is found.  However, even if one has one billion machines each can try one billion hashes per second, it still requires more than the age of the universe to obtain a reasonable chance of finding the correct one.  A different type of brute force attack (Birthday Attack) is to generate messages until two messages happen to have the same hash value.  Such an attack can be done in one year, if one has one million machines each can generate one million hashes per second.  Such attack, however, is useless for faking other people’s signatures.

Please Read Next Topic: Signature Algorithm.


Signature Algorithm
--Introduction to Public Key Digital Signature--

Signature Algorithm

The public key signature algorithm used in SafenSigned is one variation of the so called Rabin Public Key Algorithms. [4].  The Rabin algorithm gets its security from the difficulty of taking modular square root and the difficulty of factoring a number that is made of the product of two large prime numbers. (A prime number is a number that can only be divided evenly by 1 or itself.)  This means if someone is trying to fake your signature without knowing your private key, he has to face the formidable job of factoring the large number into two primes, a job that has been under intensive mathematical research for several decades, but no efficient method has been found yet (although this field is advancing at an alarming rate).

The public key in the Rabin algorithm is the product of two large primes: n = pq, where p and q are the two large primes.  The private key is the knowledge of p and q.  When you sign a message (or the Digest of a message),  you are taking the square root modular n of the message.  This is easy to do if you know both p and q  but would be prohibitively difficult if one knows only n.  To verify the signature, one simply multiply the scrambled message by itself and then do a modular reduction to recover the original message signed.  This is easy to do without the knowledge of p and q.

SafenSigned uses a 1024 bit key and it would require 300 billion Mips-Years of computation to factor it using best factoring method known at the present time (the General Number Field Sieve), according to Bruce Schneier [5].  (Note: one Mips-Year is equivalent to a VAX 11/780 running for a year.  A 100MHZ Pentium running for a year will give about 50 Mips-Years.)

Among the most popular public key algorithms, the Rabin algorithm has one clear advantage over others (such as RSA), that is, the signature verification is extremely fast since it requires only one modular multiplication, although it is slightly more complicated in the implementation of the signing algorithm. (This slight complication in the signing algorithm does not affect the efficiency of the signing process.)  This feature makes the Rabin algorithm the ideal choice for signing digital contents intended for wide distribution, because in such a case, the digital content is signed only once while the signature is verified many times by each user of the digital content.  This is the main reason the Rabin algorithm is chosen for SafenSigned.

Please Read Next Topic: Implementation Specifics in SafenSigned.


Implementation Specifics in SafenSigned
--Introduction to Public Key Digital Signature--

Implementation Specifics in SafenSigned

This topic is provided for people who are experts in cryptography to review the specific implementation of SafenSigned to ensure its security.

Key Generation

Generate two primes of 512 bits p and q such that p is equal to 3 modular 8 and q is equal to 7 modular 8.  The prime number generation keeps generating 512 bit random numbers that cannot be divided by any prime under 2000 and then uses the Rabin-Miller algorithm to test them, until one number that passes 7 rounds of the test is found.  The first 512 bit random number is generated by initializing the number to a random number derived from a series of random mouse movements and then adding each 32 bit section by a random number obtained using the C function rand( ).  Subsequent random numbers are generated by adding each 32 bit section of the previous number by a random number obtained from rand( ).  The random mouse movements generates total of 1024 random bits.  Half of these bits are used to initialize the random number for p and the other half is used for q.  This makes p and q independent.  The highest 2 bits of the numbers are artificially set to ensure that the product of the two primes will always be a 1024 bit number with the highest bit set.  The lowest bit of these numbers are also set to ensure that they are odd.  After p and q are generated, quantities such as ap and bq (satisfying ap+bq=1) that are needed to calculate modular square roots are also computed.  All these quantities are considered as part of the pirate key and are encrypted by the pass phrase before stored into the key file. The public key is computed as n=pq.

The Signature ID

The signature ID is a 128 bit MD5 hash function (using the MD5 Message Digest Algorithm of the RSA Data Security, Inc.) of the public key and the validity time values.  The displayed signature ID is a string of the form:

AAAA-AAAA-AAAAB--AAAA-AAAA-AAAAB

where A and B are alpha numerical characters representing 5 bits or 4 bits of the hash value.  The numbers are from 0 to 9 and letters are from A to Z, skipping I, O, V and W. The reason for skipping these letters is because I looks like 1, O looks like 0 and W looks like two V’s.  The string is intended for human to read and compare signature IDs visually.  Although the signature ID does not uniquely represent the public key in theory, it does so in practice, due to the collision resistant nature of the hash function.

Signing

A file is signed by the following steps:

1) Compute the MD5 hash function (using the MD5 Message Digest Algorithm of the RSA Data Security, Inc.) of the file to be signed along with the notary certificates (or the unnotarized identity information if the signature is not notarized) and some data needed to locate the signature block and recover the original file signed. (We want these data to be protected by the signature too.)

2) Pack the hash value (128 bit), the validity (64 bit), the time stamp (32 bit) and the serial number (32 bit) into a 256 bit number.

3) Formatting the 256 bit number into a 1024 bit number according to the format specified in ISO/IEC 9796.  Note: This formatting ensures that the 1024 bit number is always equal to 6 mod 16.

4) Calculate the Jacobi Symbol of the 1024 bit number. If the Jacobi Symbol is -1, right shift the 1024 bit number by one bit. (Divide it by 2).

5) Compute the signature by taking the square root modular n (the public key) of the 1024 bit number using the algorithm of reference [6].  Note: The algorithm gives four square roots but we use only one.

6) Packing the original file and the signature into the output file using a format that will make the signature invisible in HTML browsers and will not interfere with the normal ZIP and self extracting functions.

Signing in Text Mode

Signing a file in text mode is the same as described above, except that in the computation of the hash function, continuous white space characters are treated as one single space.  A tag is included in the signature block to indicate that the file is signed in text mode.  This allows the SafenSigned Verifier to compute the hash function correctly when a file signed in text mode is being checked.

Signature Verification

The procedure for signature verification is the following:

1) Take the square of the signature modular n.  (The result is denoted by m’ )

2) Chose the correct recovered 1024 bit number m according to the following:

    a) If m’=6 (mod 8), m=m’

    b) If m’=3 (mod 8), m=2m’

    c) If m’=7 (mod 8), m=n-m’

    d) If m’=2 (mod 8), m=2(n-m’)

3) Perform the message recovery and redundancy checking specified in ISO/IEC 9796 to recover the 256 bit number that includes the 128 bit hash value, 64 bit validity, 32 bit time stamp and 32 bit serial number.

4) Compute the MD5 hash value from the file being checked excluding the signature.  (Since the signature is not included in the hash value computation during the signing process.)

5) Verify that the hash value computed from the file is exactly the same as the hash value recovered from the signature.

6) Check if the signature is valid at the time of signing and is still valid now using the validity data recovered from the signature.


References
--Introduction to Public Key Digital Signature--

References

[1] W. Diffie and M. E. Hellman, “New Directions in Cryptography,” IEEE Transactions on Information Theory, v.IT-22, n.6, Nov 1976, pp. 644-654.

[2] R. C. Markle, “Secure Communication Over Insecure Channels,” Communications of the ACM, v.21, n.4, 1978, pp. 294-499.

[3] R. L. Rivest, “The MD5 Message Digest Algorithm,” RFC 1321, April 1992.

[4] M. O. Rabin, “Digital Signatures and Public-Key Functions as Intractable as Factorization,” MIT Laboratory for Computer Science, Technical Report, MIT/LCS/TR-212, Jan 1979.

[5] See Table 7.4 on page 160 of “Applied Cryptography” by Bruce Schneier, second edition, John Wiley & Sons, Inc., New York, Chichester, Brisbane, Toronto, Singapore, 1996.

[6] See Note 8.12 on page 292 of “Handbook of Applied Cryptography” by Alfred J. Menezes, Paul C. Van Oorschot and Scott A. Vanstone, CRC Press, Boca Raton, New York, London, Tokyo, 1997.


Acknowledgements
Acknowledgments

The zip and unzip functions of the SafenSigned File Signer and Verifier is based on the work of the Info-Zip group.  Thanks to the entire Info-Zip group.  If you are interested, you can obtain the original Info-Zip code from many sources, including: CompuServe, ibmpro forum; BIX: ibm.pc listings; Internet, ftp.uu.net:/pub/zip. If you cannot obtain this code from other sources, you can send a self-addressed-stamped envelope with a disk to:

SecuriSys Corporation

4440 Cypress Ave.

El Monte, CA 91731.

We will send the original Info-Zip source code to you. (Please write on the envelop “Re: Request for Info-Zip Source Code.”)

Note: All the purchasing price and license fees for the SafenSigned utilities cover only the codes for digital signature and windows interface.  The zip and unzip functions derived from the work of the Info-Zip group are provided for free and there are no extra or hidden charges resulting from the use of the zip and unzip functions.


License Agreement

SafenSigned (tm) Verifier - Copyright © 1997 by SecuriSys Corporation.

All rights reserved.

License Agreement

You should carefully read the following terms and conditions before using this software.  Unless you have a different license agreement with SecuriSys Corporation, your use of this software indicates your acceptance of this license agreement and warranty. For information on distributing the SafenSigned Verifier, see Shareware License.

If you have not tried this program before, you are granted 30 day trial period to use this software for evaluation purpose only. Using it for any other purpose or using it after the trial period requires registration and paying a registration fee. (See Shareware License.) After registration, you are granted the following:

One registered copy of the SafenSigned Verifier may either be used by a single person who uses the software personally on one or more computers, or installed on a single workstation used nonsimultaneously by multiple people, but not both. You may access the registered version of the SafenSigned Verifier through a network, provided that you have obtained individual licenses for the software covering all workstations that will access the software through the network.  For instance, if 5 different workstations will access the SafenSigned Verifier on the network, each workstation must have its own license, regardless of whether they use SafenSigned Verifier at different times or concurrently.

All rights not expressly granted in this license agreement are reserved entirely to SecuriSys Corporation.

Governing Law

This agreement shall be governed by the laws of the State of California.

Disclaimer of Warranty

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED.  In particular, the security mechanisms implemented by the SafenSigned Verifier have inherent limitations, and you must determine that the Software sufficiently meets your requirements before relying on it.  SecuriSys is not responsible for any damage caused by the failure of such security mechanisms.  Because of the various hardware and software environments into which the SafenSigned File Signer may be put, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.

Good data processing procedure dictates that any program be thoroughly tested with non-critical data before relying on it.  The user must assume the entire risk of using the program.  ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.


Shareware License

Evaluation and Registration

This is not free software.  You are hereby licensed to use this software for evaluation purposes without charge for a period of 30 days.  If you use this software after the 30 day evaluation period a registration fee of $15 is required.  Payments must be in US dollars drawn on a US bank, and should be sent to:

Atten: Shareware Registration

SecuriSys Corporation

4440 Cypress Ave.

El Monte, CA.91731.

Credit card ordering and quantity discounts are available, as described in the section Ordering Information/Order Form.  When payment is received you will be sent a registered copy of the latest version of the SafenSigned Verifier.

Unregistered use of the Safe ‘n Signed File Signer after the 30-day evaluation period is in violation of U.S. and international copyright laws.

Distribution

Provided that you verify that you are distributing the Shareware Version, you are hereby licensed to make as many copies of the Shareware version of this software and documentation as you wish; give exact copies of the original Shareware version to anyone; and distribute the Shareware version of the software and documentation in its unmodified form via electronic means.  There is no charge for any of the above.

You are specifically prohibited from charging, or requesting donations, for any such copies, however made; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission from SecuriSys Corporation.


Ordering Information

The shareware version of the SafenSigned Verifier may be used for 30 days without charge. If you want to continue using the program after the 30 day trial period, you must register and pay a registration fee.

After we receive your payment, we will send you the latest registered version of the program with a write protected floppy disk or a CD-ROM. The registration also gives you one year free upgrade and priority in technical support.

For your own security, it is extremely important that you get the registered version of the Verifier directly from us, instead of relying on the trial version distributed over the Internet or other insecure channels. Once you get a truly authentic copy of the Verifier directly from us, you may use it to check other files (including the File Signer and future versions of the Verifier) received from the Internet or other insecure distribution channels to ensure that they are authentic and have not been modified.

The registration fee for the SafenSigned Verifier is $15. The payment must be in US dollars drawn on a US bank.

To register, fill out the registration form, print it out and send the printed copy along with the payment to the following address:

SecuriSys Corporation

4440 Cypress Ave.

El Monte, CA.91731

For faster service, you may pay the registration fee with your credit card by filling out the credit card section of the registration form and faxing it to (626)-444-9903. If you do not have access to a fax machine, you may call (626)-448-4273 to place the credit card order. Other ordering method such as secure on-line order may be available. Please check http//www.securisys.com/ for the most recent information.


Registration Form

Please print and fill out this form and send it along with the payment to:

SecuriSys Corporation

4440 Cypress Ave.

El Monte, CA.91731, U.S.A.

If you are paying with credit card, please fill out the credit card section and fax it to (626)-444-9903 for faster service.

Safe 'n' Verifier Registration Form

Name:_________________________________________________________________

Address (the registered version will be shipped to this address):

_______________________________________________________________________

_______________________________________________________________________

Phone:_______________________________  Fax:______________________________

Email:__________________________________________________________________

Number of copies: ________@ $15/copy.  Total Amount:$____________

Payment Method:

___Check or Money Order Included.

___Credit Card (If checked please also fill out the following)

Card Type:___VISA   ___Master Card,       Number:______________________________

Holder's Name:_______________________________________  Expire:______________

Holder’s Signature________________________________________Date______________